package com.laowang.project.system.mapper;

import java.util.List;

import com.laowang.project.system.domain.ZcWxUser;
import com.laowang.project.system.domain.vo.ZcRecordVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * H5用户Mapper接口
 *
 * @author laowang
 * @date 2025-09-09
 */
public interface ZcWxUserMapper {
    /**
     * 查询H5用户
     *
     * @param id H5用户ID
     * @return H5用户
     */
     ZcWxUser selectZcWxUserById(Integer id);

    /**
     * 查询H5用户列表
     *
     * @param zcWxUser H5用户
     * @return H5用户集合
     */
     List<ZcWxUser> selectZcWxUserList(ZcWxUser zcWxUser);

    /**
     * 新增H5用户
     *
     * @param zcWxUser H5用户
     * @return 结果
     */
    int insertZcWxUser(ZcWxUser zcWxUser);

    /**
     * 修改H5用户
     *
     * @param zcWxUser H5用户
     * @return 结果
     */
    int updateZcWxUser(ZcWxUser zcWxUser);

    /**
     * 删除H5用户
     *
     * @param id H5用户ID
     * @return 结果
     */
    int deleteZcWxUserById(Integer id);

    /**
     * 批量删除H5用户
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteZcWxUserByIds(Integer[] ids);

    @Select("select * from zc_wx_user where openid =#{openid}")
    ZcWxUser getByOpenid(String openid);

    @Select("SELECT total_price,create_time,refund_time,`status` FROM zc_wx_order\n" +
        "        WHERE `status` in (1,2) and user_id =#{userId}\n" +
        "        ORDER BY create_time desc")
    List<ZcRecordVo> getZcRecord(@Param("userId") Integer userId);
}
